In an operation management of Web applications providing services to users via the Internet, performance measurements of Web applications have been made to monitor for delay of processing requests from users.
For performance measurements, it is effective to detect a processing request from a user from a series of message groups and to monitor HTTP (HyperText Transfer Protocol) request processing and DB (Data Base) access processing from the first request to a response to the user. That is, it is effective to detect each transaction executed by the Web application.
Profiling and network monitoring are generally used as such methods of measuring performance of Web applications. For example, profiling monitors execution conditions of each piece of processing executed inside an application running on a server to be profiled. Network monitoring monitors communication between a target server and an external server by capturing packets transmitted/received by the target server.
Generation of a transaction ID to identify a transaction is triggered by the start of the transaction. Then, the transaction is identified by using the generated transaction ID and also a processing sequence between servers linking and executing one transaction is generated.    Patent Document 1: Japanese Laid-open Patent Publication No. 2009-277119    Patent Document 2: Japanese Laid-open Patent Publication No. 2010-146146    Patent Document 3: Japanese National Publication of International Patent Application No. 2008-502044    Patent Document 4: Japanese Laid-open Patent Publication No. 2010-044742
Unfortunately, however, a series of transactions may not be associated by conventional technology.
For example, profiling can monitor processing inside an application, but may not monitor communication information with an external device. Network monitoring can monitor communication with an external device, but may not monitor processing inside an application. That is, whole transactions may not be monitored by these technologies and thus, transactions executed by an application server or database server may not be associated. Incidentally, also a technology using the transaction ID simply determines the sequence of servers on which each transaction is executed and may not monitor transactions executed by a database server.
To cite an example, when a Web application transmits a request to a DB driver, the request to one DB driver may be transmitted as a plurality of requests to a DB server so that they are received as a plurality of responses. In this case, according to conventional technology, no information to associate communication between the DB driver and the server with a transaction is available and thus, the communication and the transaction may not be associated.